{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import json"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open('./DM_model/DM_char.json', mode='r', encoding='utf-8') as f:\n",
    "    DM_data = json.load(f)\n",
    "\n",
    "with open('./ner_model/char_conv.json', mode='r', encoding='utf-8') as f:\n",
    "    ner_data = json.load(f)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- Action -> intent_val"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "action_intent : ['Control-AC_Open', 'Control-AC_Close', 'Control-Lamp_Mode', 'Control-AC_Mode', 'inform_sensorvalue', 'Control-Curtain_State', 'Control-Humidifier_Gear', 'inform_AC', 'Control-Fan_Wind', 'Control-Humidifier_State', 'deny', 'Control-Humidifier_Timing', 'inform_Lamp', 'Control-RangHood_State', 'Control-Lamp_Color', 'Control-Lamp_Open', 'thanks', 'Control-Lamp_Timing', 'Control-Oven_State', 'goodbye', 'greet', 'inform_address', 'Control-Oven_Temp', 'Control-RiceCooker_Timing', 'Control-AC_Wind', 'Control-Fan_Timing', 'Control-RiceCooker_State', 'Control-AC_Temp', 'whattodo', 'Control-Fan_Gear', 'Control-Oven_Mode', 'whoareyou', 'Control-Fan_State', 'Control-Curtain_Timing', 'Control-Fan_Mode', 'Control-RiceCooker_Mode', 'inform_range', 'PAD', 'Control-Lamp_Lightness', 'Control-AC_Timing', 'affirm', 'Control-Lamp_Close', 'inform_mode']  \n",
      "action_intent_len : 43\n"
     ]
    }
   ],
   "source": [
    "action_intent = [i for i in  DM_data['intent2id'].keys()]\n",
    "print('action_intent : {}  \\naction_intent_len : {}'.format(action_intent, len(action_intent)))"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "jupyter": {
     "source_hidden": true
    },
    "tags": []
   },
   "source": [
    "Control-RiceCooker_Timing:0\n",
    "Control-Oven_Mode:1\n",
    "Control-Lamp_Open:2\n",
    "Control-Curtain_State:3\n",
    "Control-Oven_Temp:4\n",
    "PAD:5\n",
    "Control-AC_Timing:6\n",
    "inform_sensorvalue:7\n",
    "Control-Fan_State:8\n",
    "Control-Humidifier_Gear:9\n",
    "Control-RiceCooker_State:10\n",
    "Control-Oven_State:11\n",
    "Control-AC_Close:12\n",
    "Control-Humidifier_State:13\n",
    "Control-RiceCooker_Mode:14\n",
    "Control-Fan_Gear:15\n",
    "inform_Lamp:16\n",
    "inform_AC:17\n",
    "Control-AC_Open:18\n",
    "Control-AC_Wind:19\n",
    "Control-Fan_Timing:20\n",
    "inform_range:21\n",
    "Control-Fan_Mode:22\n",
    "Control-Humidifier_Timing:23\n",
    "Control-Fan_Wind:24\n",
    "Control-Curtain_Timing:25\n",
    "Control-AC_Temp:26\n",
    "Control-Lamp_Mode:27\n",
    "Control-Lamp_Close:28\n",
    "Control-Lamp_Color:29\n",
    "Control-RangHood_State:30\n",
    "Control-Lamp_Lightness:31\n",
    "Control-AC_Mode:32\n",
    "inform_address:33\n",
    "Control-Lamp_Timing:34"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- Action -> action_val"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "action_action : ['Control-Lamp_Mode', 'Control-AC_Mode', 'Control-Curtain_State', 'Control-Humidifier_Gear', 'Control-Fan_Wind', 'utter_answer_affirm', 'Control-Humidifier_State', 'Control-Lamp_State', 'utter_answer_greet', 'utter_answer_goodbye', 'utter_answer_whattodo', 'Control-RangHood_State', 'Control-Lamp_Color', 'Control-Lamp_Timing', 'utter_answer_deny', 'Control-Oven_State', 'action_humidifiertiming', 'Control-Oven_Temp', 'Control-RiceCooker_Timing', 'Control-AC_Wind', 'Control-Fan_Timing', 'Control-RiceCooker_State', 'Control-AC_Temp', 'utter_answer_whoareyou', 'Control-Fan_Gear', 'utter_answer_thanks', 'Control-Oven_Mode', 'Control-AC_State', 'Control-Fan_State', 'Control-Curtain_Timing', 'Control-Fan_Mode', 'Control-RiceCooker_Mode', 'PAD', 'Control-Lamp_Lightness', 'Control-AC_Timing']  \n",
      "action_action_len : 35\n"
     ]
    }
   ],
   "source": [
    "action_action = [i for i in  DM_data['action2id'].keys()]\n",
    "print('action_action : {}  \\naction_action_len : {}'.format(action_action, len(action_action)))"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "jupyter": {
     "source_hidden": true
    },
    "tags": []
   },
   "source": [
    "Control-Oven_Mode:0\n",
    "Control-Curtain_State:1\n",
    "action_RiceCookertiming:2\n",
    "Control-Oven_Temp:3\n",
    "PAD:4\n",
    "Control-AC_Timing:5\n",
    "Control-Fan_State:6\n",
    "Control-Humidifier_Gear:7\n",
    "Control-RiceCooker_State:8\n",
    "Control-Oven_State:9\n",
    "Control-Lamp_State:10\n",
    "Control-Humidifier_State:11\n",
    "Control-RiceCooker_Mode:12\n",
    "Control-AC_State:13\n",
    "Control-Fan_Gear:14\n",
    "action_humidifiertiming:15\n",
    "Control-AC_Wind:16\n",
    "Control-Fan_Timing:17\n",
    "Control-Fan_Mode:18\n",
    "Control-Fan_Wind:19\n",
    "Control-Curtain_Timing:20\n",
    "Control-AC_Temp:21\n",
    "Control-Lamp_Mode:22\n",
    "Control-Lamp_Color:23\n",
    "Control-RangHood_State:24\n",
    "Control-Lamp_Lightness:25\n",
    "Control-AC_Mode:26\n",
    "Control-Lamp_Timing:27"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- Ner -> intent_val"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ner_intent : ['PADL', 'chitchat', 'inform_mode', 'inform_time', 'Control-RiceCooker_Timing', 'Control-AC_Open', 'whoareyou', 'Control-Timing', 'Control-Lamp_Timing', 'Control-AC_Temp', 'Control-Lamp_Lightness', 'Control-RiceCooker_State', 'latent_control_temp', 'Control-Fan_State', 'inform_AC', 'inform_color', 'Control-Oven_State', 'whattodo', 'goodbye', 'Control-AC_Timing', 'Control-Oven_Mode', 'request_datetime', 'Control-Humidifier_Timing', 'inform_Lamp', 'request_weather', 'Control-Curtain_Timing', 'Control-Curtain_State', 'affirm', 'Control-Lamp_Mode', 'Control-Fan_Gear', 'request_weekday', 'Control-AC_Close', 'Control-AC_Wind', 'deny', 'Control-Humidifier_State', 'inform_sensorvalue', 'Control-Oven_Temp', 'Control-RiceCooker_Mode', 'Control-Fan_Timing', 'inform_operation', 'Control-Humidifier_Gear', 'Request-Humidifier_Humidity', 'Control-Lamp_Color', 'request_time', 'inform_address', 'Control-Lamp_Close', 'Control-AC_Mode', 'inform_range', 'Control-Fan_Wind', 'thanks', 'Control-RangHood_State', 'Control-Lamp_Open', 'inform_mode ', 'greet', 'Control-Fan_Mode']  \n",
      "ner_intent_len : 55\n"
     ]
    }
   ],
   "source": [
    "ner_intent = [i for i in  ner_data['intent2id'].keys()]\n",
    "print('ner_intent : {}  \\nner_intent_len : {}'.format(ner_intent, len(ner_intent)))"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "jupyter": {
     "source_hidden": true
    },
    "tags": []
   },
   "source": [
    "PADL:0\n",
    "Control-Fan_Mode:1\n",
    "Control-Curtain_Timing:2\n",
    "inform_address:3\n",
    "Control-Humidifier_Gear:4\n",
    "goodbye:5\n",
    "request_weather:6\n",
    "request_datetime:7\n",
    "request_weekday:8\n",
    "inform_sensorvalue:9\n",
    "Control-AC_Open:10\n",
    "Control-Lamp_Open:11\n",
    "Control-Oven_Mode:12\n",
    "Control-AC_Wind:13\n",
    "inform_Lampcolor:14\n",
    "Control-AC_Timing:15\n",
    "deny:16\n",
    "chitchat:17\n",
    "Control-Fan_State:18\n",
    "Control-AC_Temp:19\n",
    "Control-Lamp_Close:20\n",
    "Control-Humidifier_State:21\n",
    "Control-Curtain_State:22\n",
    "Control-Lamp_Timing:23\n",
    "whattodo:24\n",
    "inform_Lamp:25\n",
    "Control-Lamp_Mode:26\n",
    "whoareyou:27\n",
    "Control-RiceCooker_State:28\n",
    "Request-Humidifier_Humidity:29\n",
    "request_time:30\n",
    "Control-RiceCooker_Mode:31\n",
    "affirm:32\n",
    "Control-Fan_Wind:33\n",
    "Control-Oven_Temp:34\n",
    "Control-Lamp_Lightness:35\n",
    "thanks:36\n",
    "inform_time:37\n",
    "inform_operation:38\n",
    "Control-AC_Close:39\n",
    "Control-Oven_State:40\n",
    "inform_Lampmode:41\n",
    "inform_range:42\n",
    "greet:43\n",
    "Control-RangHood_State:44\n",
    "Control-Fan_Timing:45\n",
    "inform_ACmode:46\n",
    "Control-AC_Mode:47\n",
    "Control-Lamp_Color:48\n",
    "latent_control_temp:49\n",
    "Control-Device_Timing:50\n",
    "Control-Fan_Gear:51\n",
    "Control-RiceCooker_Timing:52\n",
    "inform_AC:53\n",
    "Control-Humidifier_Timing:54"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Ner2DM :  ['PADL', 'chitchat', 'inform_time', 'Control-Timing', 'latent_control_temp', 'inform_color', 'request_datetime', 'request_weather', 'request_weekday', 'inform_operation', 'Request-Humidifier_Humidity', 'request_time', 'inform_mode ']\n"
     ]
    }
   ],
   "source": [
    "Ner2DM = []\n",
    "for i in ner_intent:\n",
    "    if i not in action_intent:\n",
    "        Ner2DM.append(i)\n",
    "print('Ner2DM : ', Ner2DM)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "m = int(input())\n",
    "nums = list(map(int, input().split()))\n",
    "temp = 0\n",
    "for i in range(m):\n",
    "    if nums[i] == 1:\n",
    "        temp += 0 \n",
    "    elif nums[i] == 2 or nums[i] == 3:\n",
    "        temp += 1\n",
    "    else:\n",
    "        temp += (nums[i] // 2)\n",
    "print(temp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "E, EM, M, MH, H = map(int, input().split())\n",
    "temp = []\n",
    "for i in range(EM+1):\n",
    "    for j in range(MH+1):\n",
    "        temp.append(min(E+i,M+EM+MH-i-j,H+j))\n",
    "print(max(temp) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "strs = input()\n",
    "right = len(strs)-1\n",
    "left = 0\n",
    "res = ''\n",
    "while left <= right:\n",
    "    if strs[left] != strs[right]:\n",
    "        res = strs[left] + res\n",
    "        left += 1\n",
    "    else:\n",
    "        left += 1\n",
    "        right -=1\n",
    "print(strs+res)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "T = int(input())\n",
    "for i in range(T):\n",
    "    n = int(input())\n",
    "    a = [int(k) for k in input().split()]\n",
    "    an = 10000000000\n",
    "    def fen(x,n,A,B,C):\n",
    "        global an,a\n",
    "        if C > an:\n",
    "            return\n",
    "        if x == n:\n",
    "            if A == B:\n",
    "                an = min(an, C)\n",
    "            return\n",
    "        fen(x+1, n, A+a[x], B, C)\n",
    "        fen(x+1, n, A, B+a[x], C)\n",
    "        fen(x+1, n, A, B, C+a[x])\n",
    "    fen(0,n,0,0,0)\n",
    "    print(an)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "e,em,m,mh,h=map(int,input().split())\n",
    "opt=(e+em+m+mh+h)//3 # 一开始用int((e+em+m+mh+h)/3)，结果浮点精度爆炸，惨\n",
    "ae,ah=e+em,h+mh # 先全分配给E和H\n",
    "   \n",
    "e2=max(0,min(em,ae-opt)) # E能提供的数目\n",
    "h2=max(0,min(mh,ah-opt)) # H能提供的数目\n",
    "print(min(ae-e2,ah-h2,m+e2+h2)) # 补齐后取最少的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def test2():\n",
    "    s = input()\n",
    "    rev_s = s[::-1]\n",
    "    if s == rev_s:\n",
    "        print(s)\n",
    "        return\n",
    "    len_s = len(s)\n",
    "    for i in range(len_s):\n",
    "        flag = 0\n",
    "        for j in range(i,len_s):\n",
    "            temp_s = s[i:j+1][::-1]\n",
    "             \n",
    "            temp_all = s + temp_s\n",
    "            if temp_all == temp_all[::-1]:\n",
    "                print(temp_all)\n",
    "                flag = 1\n",
    "                break\n",
    "        if flag == 1:\n",
    "            break\n",
    "if __name__ == \"__main__\":\n",
    "    test2()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "import json\n",
    "from collections import Counter\n",
    "\n",
    "with open('/home/ai/hgm/Smart_Home/stories/stories_map.json', mode='r', encoding='utf-8') as f:\n",
    "    stories = json.load(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['Control-RangHood_State']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Lamp_Open']\n",
      "*\n",
      "['PAD']\n",
      "['inform_Lamp', 'Control-Lamp_Open']\n",
      "*\n",
      "['PAD']\n",
      "['inform_address', 'Control-Lamp_Open']\n",
      "*\n",
      "['PAD']\n",
      "['inform_range', 'Control-Lamp_Open']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Lamp_Close']\n",
      "*\n",
      "['PAD']\n",
      "['inform_Lamp', 'Control-Lamp_Close']\n",
      "*\n",
      "['PAD']\n",
      "['inform_range', 'Control-Lamp_Close']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Lamp_Lightness']\n",
      "*\n",
      "['PAD']\n",
      "['inform_address', 'Control-Lamp_Lightness']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Lamp_Lightness', 'Control-Lamp_Open']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Lamp_Lightness', 'Control-Lamp_Lightness']\n",
      "*\n",
      "['PAD']\n",
      "['inform_sensorvalue', 'Control-Lamp_Open']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Lamp_Mode']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Lamp_Color']\n",
      "*\n",
      "['PAD']\n",
      "['inform_address', 'Control-Lamp_Mode']\n",
      "*\n",
      "['PAD']\n",
      "['inform_address', 'Control-Lamp_Color']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Lamp_Color', 'Control-Lamp_Color']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Lamp_Timing']\n",
      "*\n",
      "['PAD']\n",
      "['inform_address', 'Control-Lamp_Timing']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Fan_State']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Fan_State', 'Control-Fan_State']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Fan_Wind']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Fan_Gear']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Fan_Mode']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Fan_Timing']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Fan_Timing', 'Control-Fan_State']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Humidifier_State']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Humidifier_Gear']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Humidifier_Timing']\n",
      "*\n",
      "['PAD']\n",
      "['Control-RiceCooker_State']\n",
      "*\n",
      "['PAD']\n",
      "['Control-RiceCooker_Mode', 'Control-RiceCooker_State']\n",
      "*\n",
      "['PAD']\n",
      "['Control-RiceCooker_Mode']\n",
      "*\n",
      "['PAD']\n",
      "['Control-RiceCooker_Timing', 'Control-RiceCooker_State']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Curtain_State']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Curtain_Timing']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Oven_State']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Oven_Mode']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Oven_Temp']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Open']\n",
      "*\n",
      "['PAD']\n",
      "['inform_AC', 'Control-AC_Open']\n",
      "*\n",
      "['PAD']\n",
      "['inform_address', 'Control-AC_Open']\n",
      "*\n",
      "['PAD']\n",
      "['inform_range', 'Control-AC_Open']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Close']\n",
      "*\n",
      "['PAD']\n",
      "['inform_AC', 'Control-AC_Close']\n",
      "*\n",
      "['PAD']\n",
      "['inform_address', 'Control-AC_Close']\n",
      "*\n",
      "['PAD']\n",
      "['inform_range', 'Control-AC_Close']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Mode']\n",
      "*\n",
      "['PAD']\n",
      "['inform_AC', 'Control-AC_Mode']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Mode', 'Control-AC_Open']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Mode', 'Control-AC_Mode']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Timing']\n",
      "*\n",
      "['PAD']\n",
      "['inform_AC', 'Control-AC_Timing']\n",
      "*\n",
      "['PAD']\n",
      "['inform_address', 'Control-AC_Timing']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Timing', 'Control-AC_Timing']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Timing', 'inform_address']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Wind']\n",
      "*\n",
      "['PAD']\n",
      "['inform_address', 'Control-AC_Wind']\n",
      "*\n",
      "['PAD']\n",
      "['inform_AC', 'Control-AC_Wind']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Wind', 'Control-AC_Open']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Wind', 'Control-AC_Wind']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Wind', 'inform_address']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Temp']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Temp', 'Control-AC_Open']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Temp', 'Control-AC_Temp']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Close', 'Control-AC_Temp']\n",
      "*\n",
      "['PAD']\n",
      "['inform_AC', 'Control-AC_Temp']\n",
      "*\n",
      "['PAD']\n",
      "['inform_address', 'Control-AC_Temp']\n",
      "*\n",
      "['PAD']\n",
      "['Control-AC_Temp', 'inform_AC']\n",
      "*\n",
      "['PAD']\n",
      "['inform_address', 'Control-Curtain_State']\n",
      "*\n",
      "['PAD']\n",
      "['inform_mode', 'inform_address']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Oven_Mode', 'Control-Oven_State']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Oven_Temp', 'Control-Oven_Mode']\n",
      "*\n",
      "['PAD']\n",
      "['Control-Fan_Mode', 'Control-Fan_State']\n",
      "*\n",
      "['PAD']\n",
      "['greet']\n",
      "*\n",
      "['PAD']\n",
      "['affirm', 'greet']\n",
      "*\n",
      "['PAD']\n",
      "['deny', 'greet']\n",
      "*\n",
      "['PAD']\n",
      "['deny']\n",
      "*\n",
      "['PAD']\n",
      "['goodbye']\n",
      "*\n",
      "['PAD']\n",
      "['thanks', 'greet']\n",
      "*\n",
      "['PAD']\n",
      "['thanks']\n",
      "*\n",
      "['PAD']\n",
      "['whoareyou', 'greet']\n",
      "*\n",
      "['PAD']\n",
      "['whoareyou']\n",
      "*\n",
      "['PAD']\n",
      "['whattodo']\n",
      "*\n",
      "['PAD']\n",
      "['whattodo', 'greet']\n",
      "*\n",
      "['PAD']\n"
     ]
    }
   ],
   "source": [
    "for val in stories:\n",
    "    print(val['storys'][1])\n",
    "    print(\"*\")\n",
    "    print(val['storys'][0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
